XAML এ Triggers হল বিশেষ ধরনের লজিক্যাল অবস্থা বা ইভেন্ট, যা UI উপাদানের প্রপার্টি পরিবর্তন করতে সাহায্য করে। ট্রিগারগুলি বিভিন্ন অবস্থার ভিত্তিতে UI উপাদানগুলির স্টাইল বা প্রপার্টি পরিবর্তন করার জন্য ব্যবহৃত হয়। XAML এ তিন ধরনের ট্রিগার সাধারণত ব্যবহৃত হয়: Property Trigger, Data Trigger, এবং Event Trigger।
1. Property Trigger
Property Trigger হল একটি ট্রিগার যা একটি UI উপাদানের প্রপার্টির মান পরিবর্তন হওয়ার উপর ভিত্তি করে কাজ করে। এটি যখন কোনো নির্দিষ্ট প্রপার্টি একটি নির্দিষ্ট মানে পৌঁছায়, তখন নির্দিষ্ট পরিবর্তন বা অ্যাকশন ঘটে।
ব্যবহারের উদ্দেশ্য:
- একটি UI উপাদানের প্রপার্টি পরিবর্তন হলে অন্য কোনো প্রপার্টি বা অ্যাকশন ট্রিগার করা।
- সাধারণত স্টাইল বা ভিজ্যুয়াল প্রপার্টির পরিবর্তন জন্য ব্যবহৃত হয়, যেমন ব্যাকগ্রাউন্ড বা ফন্ট কালার।
উদাহরণ:
<Button Content="Click Me">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<PropertyTrigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="LightGreen"/>
</PropertyTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
এখানে:
PropertyTriggerট্রিগারটিIsMouseOverপ্রপার্টির মান True হলেBackgroundপ্রপার্টি পরিবর্তন করে LightGreen হবে।- যখন ব্যবহারকারী বাটনের উপর মাউস নিয়ে যাবে, তখন বাটনের ব্যাকগ্রাউন্ড রং পরিবর্তিত হবে।
2. Data Trigger
Data Trigger হল একটি ট্রিগার যা ডাটা-বাইন্ডিং ভিত্তিক কাজ করে। এটি ডেটার মান পরিবর্তন হলে UI উপাদানে কিছু পরিবর্তন করার জন্য ব্যবহৃত হয়। যখন কোনো নির্দিষ্ট ডেটার মান পরিবর্তন হয়, তখন নির্দিষ্ট UI প্রপার্টি পরিবর্তিত হয়।
ব্যবহারের উদ্দেশ্য:
- UI উপাদানের প্রপার্টি ডেটার মানের উপর ভিত্তি করে পরিবর্তন করা।
- ডেটা-বাইন্ডিংয়ের মাধ্যমে UI এর আচরণ নিয়ন্ত্রণ করা।
উদাহরণ:
<Button Content="Submit">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<DataTrigger Binding="{Binding IsEnabled}" Value="False">
<Setter Property="Background" Value="Gray"/>
<Setter Property="Foreground" Value="DarkGray"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
এখানে:
DataTriggerট্রিগারটি IsEnabled প্রপার্টির মান False হলে বাটনেরBackgroundএবংForegroundপ্রপার্টি পরিবর্তন করে, যার ফলে বাটনটি গ্রে এবং ডার্ক গ্রে হয়ে যাবে।- এই ট্রিগারটি সাধারণত ডেটা-বাইন্ডিংয়ের মাধ্যমে ব্যবহৃত হয়, যেখানে ডেটা পরিবর্তন UI তে রিফ্লেক্ট হয়।
3. Event Trigger
Event Trigger হল একটি ট্রিগার যা ইভেন্ট ভিত্তিক কাজ করে। যখন কোনো নির্দিষ্ট ইভেন্ট ঘটে, তখন UI উপাদানে নির্দিষ্ট পরিবর্তন বা অ্যাকশন ঘটতে থাকে। যেমন, বাটনে ক্লিক হলে একটি অ্যানিমেশন শুরু করা।
ব্যবহারের উদ্দেশ্য:
- UI উপাদানের ইভেন্টের ভিত্তিতে কিছু অ্যাকশন বা পরিবর্তন ঘটানো।
- ইভেন্ট-ভিত্তিক স্টাইলিং বা অ্যাকশন প্রয়োগ করা।
উদাহরণ:
<Button Content="Click Me">
<Button.Style>
<Style TargetType="Button">
<Style.Triggers>
<EventTrigger RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<ColorAnimation
Storyboard.TargetProperty="(Button.Background).(SolidColorBrush.Color)"
From="Red" To="Green" Duration="0:0:1"/>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
এখানে:
- EventTrigger এর মাধ্যমে
Button.Clickইভেন্টের উপর ভিত্তি করে একটি Storyboard চালু করা হচ্ছে। - যখন ব্যবহারকারী বাটনে ক্লিক করবে, তখন বাটনের ব্যাকগ্রাউন্ড রঙ Red থেকে Green এ পরিবর্তিত হবে।
সারাংশ
- Property Trigger: UI উপাদানের প্রপার্টি পরিবর্তনের ভিত্তিতে স্টাইল বা প্রপার্টি পরিবর্তন করে। এটি UI উপাদানের হোভার, ফোকাস ইত্যাদি প্রপার্টির ভিত্তিতে কাজ করে।
- Data Trigger: ডেটা-বাইন্ডিংয়ের মাধ্যমে UI উপাদানের প্রপার্টি ডেটার মানের উপর ভিত্তি করে পরিবর্তন করে।
- Event Trigger: UI উপাদানের নির্দিষ্ট ইভেন্ট (যেমন ক্লিক, হোভার ইত্যাদি) ঘটলে অ্যাকশন বা পরিবর্তন করে, যা সাধারণত Storyboard বা Animation চালানোর জন্য ব্যবহৃত হয়।
এই তিন ধরনের ট্রিগারের মাধ্যমে XAML এ আপনার UI উপাদানগুলোর আচরণ এবং স্টাইল আরও ইন্টারঅ্যাকটিভ এবং ডাইনামিক হতে পারে।
Read more